{ "event", 1, NULL, 'e' },
{ "help", 0, NULL, 'H' },
{ "no-fork", 0, NULL, 'N' },
+ { "priv-domid", 1, NULL, 'p' },
{ "output-pid", 0, NULL, 'P' },
{ "entry-size", 1, NULL, 'S' },
{ "trace-file", 1, NULL, 'T' },
extern void dump_conn(struct connection *conn);
int dom0_event = 0;
+int priv_domid = 0;
int main(int argc, char *argv[])
{
case 'e':
dom0_event = strtol(optarg, NULL, 10);
break;
+ case 'p':
+ priv_domid = strtol(optarg, NULL, 10);
+ break;
}
}
if (optind != argc)
bool domain_is_unprivileged(struct connection *conn)
{
- return (conn && conn->domain && conn->domain->domid != 0);
+ return (conn && conn->domain && conn->domain->domid != 0 && conn->domain->domid != priv_domid);
}
bool domain_can_write(struct connection *conn)